package com.shiaiwen;

import java.util.Comparator;
import java.util.TreeSet;

public class TreeSetDemo {
    public static void main(String[] args) {
//        创建 TreeSrt 集合对象，其中参数传递的是一个 比较器 排序的函数
        TreeSet <Student> ts  = new TreeSet<Student>(new Comparator<Student>(){

            public int compare(Student s1,Student s2){
//         比较两个学生的总分是否相同
//                主要条件
                int num = s2.getSum() - s1.getSum();

//                如果总分相同就按照语文成绩进行排序

                int num2 = num==0? s1.getChinese() - s2.getChinese():num;

                int num3 = num2==0?s1.getName().compareTo(s2.getName()):num2;

                return  num3;
            }
        });


//        创建学生对象

        Student s1 = new Student("林青霞", 98, 100);
        Student s2 = new Student("张曼玉", 95, 95);
        Student s3 = new Student("王祖贤", 100, 93);
        Student s4 = new Student("柳岩", 100, 97);
        Student s5 = new Student("风清扬", 98, 98);
        Student s6 = new Student("左冷禅", 97, 99);
        Student s7 = new Student("赵云", 97, 99);

//        将学生对象添加到 TreeSet 集合里面

        ts.add(s1);
        ts.add(s2);
        ts.add(s3);
        ts.add(s4);
        ts.add(s5);
        ts.add(s6);
        ts.add(s7);

//        遍历集合，使用增强 for 循环的形式

        for (Student s:ts){
            System.out.println(s.getName()+",总分："+s.getSum()+",语文："+s.getChinese()+",数学："+s.getMath());
        }
    }
}
